Field
The present disclosure relate generally to crosstalk avoidance on a bus, and more particularly, to conditional embedding of dynamically shielded information on a bus.
Background
Crosstalk avoidance coding is a technique to encode data such that it can be transmitted over a capacitively-coupled interconnect (also referred to as a bus) with reduced energy consumption and propagation delay. This may be achieved by prohibiting certain bit transitions on a bus. For example, a crosstalk avoidance code may avoid opposing transitions on adjacent wires of the bus.
Generally, it is desirable to embed additional information into the data to be transmitted over the bus. For example, in order to detect errors, it is useful to ensure that every vector of bits transmitted over the bus has even parity. As another example, in order to embed a clock signal, it is useful to ensure that there is at least one transition on the bus during every clock cycle.
Embedding such additional information in data encoded for crosstalk avoidance is often cumbersome, because the information to be embedded depends on the encoded data to be transmitted and, therefore, is only available after the encoding process is completed. In one conventional approach, for example, static wire shielding is used to encode the parity of the encoded data. However, this approach is inefficient, since it uses two additional wires. The situation is similar for the clock embedding. Therefore, more efficient approaches for embedding additional information in data encoded for crosstalk avoidance are needed.